#include "Timmer.h"


Timmer::Timmer(void)
{
	DeltaTime = 0;
	MeasureFPSSample = 0;
	FrameCounter = 0;
	FPS = 0;
}


Timmer::~Timmer(void)
{
}
void Timmer::Measure()
{
	//realizo la m edicion del frame actual
	QueryPerformanceCounter(&ActualTime);

	//calculo  el tiempo actual en milisegundos
	DeltaTime = static_cast<double>
		((ActualTime.QuadPart - LastTime.QuadPart)
		*1000.0f / Frecuency.QuadPart);


	// tomo el tiempo del estado actual
	LastTime = ActualTime;
	//actualizo el estado de los frames por segundo 
	FrameCounter++;
	MeasureFPSSample += DeltaTime;

	if(MeasureFPSSample >= 1000)
	{
		MeasureFPSSample -= 1000;
		FPS = FrameCounter;
		FrameCounter = 0;
	}

}
double Timmer::GetDT(){
	return DeltaTime;
}
unsigned int Timmer::GetFPS()
{
	return FPS;
}
void Timmer::FristMeasure(){
	QueryPerformanceFrequency(&Frecuency);
	QueryPerformanceCounter(&LastTime);
}

